High-level python abstractions for optimal checkpointing in inversion problems

نویسندگان

  • Navjot Kukreja
  • Jan Hückelheim
  • Michael Lange
  • Mathias Louboutin
  • Andrea Walther
  • Simon W. Funke
  • Gerard Gorman
چکیده

Inversion and PDE-constrained optimization problems often rely on solving the adjoint problem to calculate the gradient of the objective function. This requires storing large amounts of intermediate data, setting a limit to the largest problem that might be solved with a given amount of memory available. Checkpointing is an approach that can reduce the amount of memory required by redoing parts of the computation instead of storing intermediate results. The Revolve checkpointing algorithm offers an optimal schedule that trades computational cost for smaller memory footprints. Integrating Revolve into a modern python HPC code and combining it with code generation is not straightforward. We present an API that makes checkpointing accessible from a DSL-based code generation environment along with some initial performance figures with a focus on seismic applications.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Pyro: An Integrated Environment for Robotics Education

Pyro, which stands for Python Robotics, is a Python-based robotics programming environment that enables students to explore topics in robotics. Programming robot behaviors in Pyro is akin to programming in a high-level general purpose programming language; Pyro provides abstractions for low-level robot-specific features much like the abstractions provided in high-level programming languages. Co...

متن کامل

High-level languages for low-level programming

ions Abstractions have a cost. File systems and network protocols are generic and not tailored to one particular application. We cannot expect an abstraction to be optimal with respect to every application that uses it. Similarly on the PL side one cannot expect a general purpose PL to provide the exact abstractions needed for one particular application. These abstractions too have a cost: they...

متن کامل

DMTCP: Scalable User-Level Transparent Checkpointing for Cluster Computations

As the size of clusters increases, failures are becoming increasingly frequent. Applications must become fault tolerant if they are to run for extended periods of time. We present DMTCP (Distributed MultiThreaded CheckPointing), the first user-level distributed checkpointing package not dependent on a specific message passing library. This contrasts with existing approaches either specific to l...

متن کامل

Optimised finite difference computation from symbolic equations

Domain-specific high-productivity environments are playing an increasingly important role in scientific computing due to the levels of abstraction and automation they provide. In this paper we introduce Devito, an opensource domain-specific framework for solving partial differential equations from symbolic problem definitions by the finite difference method. We highlight the generation and auto...

متن کامل

Policy-contingent state abstraction for hierarchical MDPs

Hierarchically structured planning problems often provide great opportunities for state abstraction: high-level planners can ignore fine details, while low-level planners can focus only on specific tasks. Most previous hierarchical MDP algorithms rely on hand-designed, knowledgeintensive state abstractions. We propose instead an automatic, lazy algorithm which plans from the bottom of the hiera...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • CoRR

دوره abs/1802.02474  شماره 

صفحات  -

تاریخ انتشار 2018